var userId=CommonUtils.uncompile(CommonUtils.getQueryString("userId"));
var type=CommonUtils.uncompile(CommonUtils.getQueryString("type"));
var iframeName = CommonUtils.getQueryString("iframeName");
var form = '';
var orgName = "";
$(document).ready(function(){
	//下拉控件初始化
    initSelect();
    
    //性别
	CommonUtils.findBaseDataRadio("#sex-div","TMOMP_SEX",1,"sex");
	//数据类型
	CommonUtils.findBaseDataRadio("#dataType-div","TMOMP_DATA_TYPE",1,"dataType");
	//单选复选初始化
	$(".i-checks").iCheck({checkboxClass:"icheckbox_square-yellow",radioClass:"iradio_square-yellow"});
	//下拉框，载下拉树形菜单数据数据
    layui.config({
        base: './module/'
    }).extend({
        treeSelect: '../../../main/common/treeselect/module/treeSelect/treeSelect'
    });
    //初始化组织控件
    initOrgTreeCombox('#userOrg'); 
	
	initUploadFile();//上传
	
	//保存
	$("#course-saveBu").click(function(){
		saveFu(1);//添加
	});
	
	//关闭单签选项卡
	$("#course-cancelBu").click(function(){
		closeMenuTab();
	});
	
	//身份证号修改后 修改出生日期以及年龄
    $("#cardNo").change(function(){
    	add();
    })
	
    //工号 唯一校验
	$("#account").blur(function(){
		 blurAccount();
	})
	//填充
	if(userId){
		var dataInfo = findDataInfo(userId);
		if(dataInfo!=null){
			//填充表单数据
			CommonUtils.fillFormData("#save-form",JSON.stringify(dataInfo));
			//填充头像
			fillHeadImg(dataInfo);
			//填充组织
			$("#userOrg").val(dataInfo.orgName);
			$("#orgId").val(dataInfo.orgId);
			orgName = dataInfo.orgName;
			var select = 'dd[lay-value=' + dataInfo.orgId + ']';
			$('#save-form').siblings("div.layui-form-select").find('dl').find(select).click();
		    //用户类型
		    CommonUtils.findBaseDataOption2("","#userType","TMOMP_USER_TYPE",1,dataInfo.userType);
			//单选复选初始化
			$(".i-checks").iCheck({checkboxClass:"icheckbox_square-yellow",radioClass:"iradio_square-yellow"});
			$("#account").attr("disabled","disabled");
			//加盟商下拉
//		    findFranchiseeList(dataInfo.orgCode);
			if(type==3){//详情不可编辑
				$("#title-p").html("用户详情");
				$("#save-form :input").attr("disabled","disabled");
				//初始化角色选择数据
//				initRoleSelect("#roleId",{orgId:dataInfo.orgId},dataInfo.userRoles);
				//隐藏按钮
				$("#tmompAdd,#course-cancelBu,#course-saveBu").hide();
			}else{
				$("#title-p").html("用户修改");
				//初始化角色选择数据
				initRoleSelect("#roleIds",{orgId:dataInfo.orgId},dataInfo.userRoles);
				$("#dataType-div").find("[name=dataType]").on('ifClicked', function(event){
			    	//初始化角色选择数据
					initRoleSelect("#roleIds",{orgId:$("#orgId").val()});
				});
				//头像上传点击事件
				$("#head-img").click(function(){
					$("input[name='headImage']").click();
				})
				
			}
		}
	}else{
		 //用户类型
	    CommonUtils.findBaseDataOption("类型","#userType","TMOMP_USER_TYPE",1);
		//初始化角色选择数据
//		initRoleSelect("#roleIds",{});
//		$("#dataType-div").find("[name=dataType]").on('ifClicked', function(event){
//	    	//初始化角色选择数据
//			initRoleSelect("#roleIds",{orgId:$("#orgId").val()});
//		});
		//头像上传点击事件
		$("#head-img").click(function(){
			$("input[name='headImage']").click();
		})
		//加盟商下拉
//	    findFranchiseeList(null);
	}
    
    //加盟商下拉值改变事件
    $("#user-business").change(function(){
    	//初始化角色选择数据
		initRoleSelect("#roleIds",{orgId:$(this).val()});
    });
});
//添加
var saveFu=function(){
	debugger;
	//验证表单数据
	if (!$("#save-form").valid()) {
		return;
    }
	if(null == userId && !blurAccount()){//账号唯一校验
		return;
	}
	var roleIds = $("#roleIds").val();
	if (null == roleIds){
		swal({title : "抱歉",text : "请选择角色",type : "info"});
		return;
	}
	var url="";
	var formData ={};
	//获取表单元素所有数据集合
	formData = CommonUtils.getFormJson('#save-form');
	//头像
	formData.headImageUrl = $("#headImageUrl").val();
	//设置角色
	formData.roleIds = roleIds;
	//数据类型    1：普通用户
	formData.dataType=1;
	if(userId!=null){//修改
		url = "/init/user/updateUser";
		formData.userId=userId;
	}else{
		url = "/init/user/addUser";
	}
	
	//请求后台
	if(null != url){
		$.ajax({
			url:url,
			data:CommonUtils.encapsulationData(formData),
			type:'post',  
			dataType:'json',  
			contentType: "application/json",
			success:function(data) {
				if(data.result){
					//消息提示款
					swal({title : "恭喜您",text : data.msg,type : "success"},function(){
//						window.location.href="user_business_list.html";
						window.parent.frames[iframeName].location.reload();
						closeMenuTab();//关闭当前选项卡
					});
				}else{
					//消息提示款
					swal({title : "很抱歉",text : data.msg,type : "error"});
				}
			},
			error : function(req, status, err) {  
				//消息提示款
				errorFunc(req, status, err);
			}  
		});
	}
}

var blurAccount = function (){
	var judge = judgeAccount($("#account").val())
	if(judge){
		$("#account").removeClass("error");
		$("#account").parent().find(".tips").remove();
	}else{//账号不唯一
		var html = '<span class="tips" style="color: red;">账号已存在！</span>';
		$("#account").addClass("error");
		$("#account").parent().find(".tips").remove();
		$("#account").parent().append(html);
	}
	return judge;
}

//上传
var initUploadFile = function(){
	$(document).on('change', "input[name='headImage']", function(){
		var ts=this;
		if(this.files.length > 1){
			//消息提示款
			swal({title : "很抱歉",text : "上传图片总数不能超过1个！",type : "info"});
			$("input[name='headImage']").val("");
			return;
		}
		for(var i = 0; i < this.files.length; i++){
			var fileSize = this.files[i].size; 
			if(fileSize>5*1024*1024){
				//消息提示款
				swal({title : "很抱歉",text : "上传  "+this.files[i].name+"已超过5M！",type : "info"});
				$("input[name='headImage']").val("");
				return;
			}
			var fileName=this.files[i].name; 
			var suffixIndex=fileName.lastIndexOf(".");  
			var suffix=fileName.substring(suffixIndex+1).toUpperCase();  
			if(suffix=="JPG"||suffix=="PNG" ||suffix=="JPEG"){
				uploadType=2;
			}else{
				//消息提示款
				swal({title : "很抱歉",text : "请上传正确格式!(图片支持JPG、PNG、JPEG格式。)",type : "info"});
				$("input[name='headImage']").val("");
				return;
			}
		}
		//创建FormData对象
		var data = new FormData();
		//为FormData对象添加数据
		$.each($(this)[0].files, function(i, file) {
			data.append('upload_file', file);
		});
		var FileController;
		if(uploadType==2){//图片
			FileController = '/init/user/upload';
		}
//		$.mask_fullscreen(120000);//打开加载进度条
		$.ajax({url:FileController,
			data:data,
			type:'post',  
			dataType:'json',
			processData: false,
	        contentType: false,
			success:function(rs) {  
				if(rs.result){
					//消息提示款
					swal({title : "恭喜您",text : rs.msg,type : "success"},function(){
						//显示上传成功图片
						if(null != rs.url && "" != rs.url){
							$("#headImageUrl").val(rs.url);
							var serverPath = CommonUtils.getServerRoot();
							$("#head-img").attr("src",serverPath + rs.url);
						}
					});
				} else {
//					$.mask_close_all();//关闭加载进度条
					//消息提示款
					swal({title : "很抱歉",text : rs.msg, type : "error"});
				}
			}
		});
	});
}

//判断账号是否唯一
var judgeAccount = function (value){
	var jude = false;
	//请求后台
	$.ajax({
		url:'/init/user/judgeAccount',
		data:CommonUtils.encapsulationData({account:value}),
		type:'post',  
		async:false,
		dataType:'json',  
		contentType: "application/json",
		success:function(data) {
			if(data){
				if(data.result){
					jude = true;
		   		}
			}
		} 
	});
	return jude;
}

//查询用户详细信息
var findDataInfo=function(userId) {
	var dataInfo = null;
	$.ajax({url:'/init/user/findUser',
		data:CommonUtils.encapsulationData({userId:userId}),
		type:'post',  
		dataType:'json',
		async:false,//同步请求
		contentType: "application/json",
		success:function(data) {  
			if(null != data){
				dataInfo = data;
			}
		},
		error : function(req, status, err) { 
			//消息提示款
			errorFunc(req, status, err);
		}  
	});
	return dataInfo;
}

//填充头像
var fillHeadImg = function (dataInfo){
	if(null != dataInfo.headImageUrl && '' != dataInfo.headImageUrl){
		var serverPath = CommonUtils.getServerRoot();
        if(dataInfo.headImageUrl.indexOf("/upload/")>=0 || dataInfo.headImageUrl.indexOf("\\upload\\")>=0){
            $("#head-img").attr("src",serverPath + dataInfo.headImageUrl);
        }else{
            $("#head-img").attr("src",dataInfo.headImageUrl);
        }
		$("#headImageUrl").val(dataInfo.headImageUrl);
	}
}


//根据身份证修改性别，出生年月，年龄
function add(){
    var cardNo = $("#cardNo").val();
    var check = cardNo.substring(16,17)%2;
    var birthday = cardNo.substring(6,10)+"-"+cardNo.substring(10,12)+"-"+cardNo.substring(12,14);
    if(cardNo != null && cardNo != "" && cardNo.length == 18){
		var birthdayYear = cardNo.substring(6,10); //出生年份
		var date = new Date;
		var year=date.getFullYear(); 
		var age = year-birthdayYear;
		$("#age").val(age);
    	$("#birthday").val(birthday);
    	if(check === 0){//男
	       $("#sex-div input[value='2']").prop("checked","checked");
	       //单选复选初始化
	       $(".i-checks").iCheck({checkboxClass:"icheckbox_square-yellow",radioClass:"iradio_square-yellow"});
	    }else{
	       $("#sex-div input[value='1']").prop("checked","checked");
	       //单选复选初始化
	       $(".i-checks").iCheck({checkboxClass:"icheckbox_square-yellow",radioClass:"iradio_square-yellow"});
	    }
    }else{
    	$("#birthday").val("");
    	$("#age").val("");
    	$("#sex-div input[value='1']").prop("checked","checked");
	    //单选复选初始化
        $(".i-checks").iCheck({checkboxClass:"icheckbox_square-yellow",radioClass:"iradio_square-yellow"});
    }
   
}

//查询有效角色集合信息
var findRolesInfo = function(data) {
	var roles = null;
	$.ajax({url:'/init/role/findRoles',
		data:CommonUtils.encapsulationData(data),
		type:'post',  
		dataType:'json',
		async:false,//同步请求
		contentType: "application/json",
		success:function(data) {  
			if(null != data){
				roles = data;
			}
		},
		error : function(req, status, err) { 
			//消息提示款
			errorFunc(req, status, err);
		}  
	});
	return roles;
}

//初始化角色选择数据
var initRoleSelect = function(selectId,data,checkedArray){
	//获取有效角色
	var roles = findRolesInfo(data);
	if(null != roles && roles.length > 0){
		var option = "";
		for(var i = 0; i < roles.length; i++){
			option += '<option value="'+roles[i].roleId+'" hassubinfo="true">'+roles[i].roleName+'</option>';
		}
		$(selectId).html(option).trigger("chosen:updated");
		//默认值
		if(checkedArray && null != checkedArray){
			for(var j = 0; j < checkedArray.length; j++){
				$(selectId + " option[value='"+checkedArray[j].roleId+"']").attr("selected","selected");
			}
			$(selectId).trigger("chosen:updated");
		}
	}else{
		$(selectId).html("").trigger("chosen:updated");
	}
}


//组织下拉框
var initOrgTreeCombox  = function(docId){
	if(type === '3'){ //详情
		$("#userOrg").attr("disabled","disabled");
	}else{//非详情初始化插件
		//移除元素
		$(".layui-treeSelect").remove();
		layui.use(['treeSelect','form'], function () {
	        var treeSelect= layui.treeSelect;
//          form = layui.treeSelect;
	        treeSelect.render({
	            // 选择器
	            elem: docId,
	            // 访问地址
	            uri:'/init/org/getOrgsTreeList',
	            //请求参数
	    		data:CommonUtils.encapsulationData({}),
	            // 异步加载方式：get/post，默认get
	            type: 'post',
	            // 占位符
	            placeholder: '请选择组织',
	            // 是否开启搜索功能：true/false，默认false
	            search: true,
	            // 点击回调
	            click: function(d){
	                //设置隐藏值
	            	$("#orgId").val(d.current.orgId);
	            	//数据类型
	            	var dataType = $("#dataType-div").find(':checked').val();
	            	//初始化角色选择数据
					initRoleSelect("#roleIds",{orgId:d.current.orgId});
	            },
	            // 加载完成后的回调函数
	            success: function (d) {
	            	$(".layui-input.layui-unselect").val(orgName);
	            	//单位tree,增加样式，用户校验
	                $(".layui-input.layui-unselect").change(function(){
	                	//单位tree重置
	                	$("#orgId").val("");
	                });
	            }
	        });
	    });
	}
}